/**
 * Created by lby on 2018/5/9.
 */
$(function() {
    load();
});

var load = function () {

    $('#menuTable').bootstrapTreeTable({
        code: 'code',// 用于设置父子关系
        parentCode: 'parentcode',// 用于设置父子关系
        type: 'post', //请求数据的ajax类型
        url: ctxPath +  'module/list',   //请求数据的ajax的url
        expandColumn: '1',//在哪一列上面显示展开按钮,从0开始
        striped: true,   //是否各行渐变色
        expandAll: true,  //是否全部展开
        bordered: true, // 是否显示边框

        columns: [
            {title: 'id', field: 'id', align: 'center', valign: 'center', visible: false, width :'5%'},
            {title: '菜单名称', field: 'name', align: 'center', valign: 'center',  width: '10%'},
            {title: '菜单编号', field: 'code', align: 'center', valign: 'center',  width: '10%'},
            {title: '菜单父编号', field: 'parentcode', align: 'center', valign: 'center',  width: '10%'},
            {
                title: '图标',
                field: 'icon',
                align: 'center',
                valign: 'center',
                width : '5%',
                formatter: function (value, row, index)  {
                    return row.icon == null ? '' : '<i class="' + row.icon+ ' fa-lg"></i>';
                }
            },
            {title: '路径', field: 'url', align: 'center', valign: 'center', width: '15%'},
            {
                title: '菜单标志',
                field: 'ismenu',
                align: 'center',
                valign: 'center',
                width : '5%',
                formatter: function (value, row, index) {
                    if (row.ismenu === 0) {
                        return '<span class="label label-warning">按钮</span>';
                    }
                    if (row.ismenu === 1) {
                        return '<span class="label label-success">菜单</span>';
                    }
                    if (row.ismenu === 2) {
                        return '<span class="label label-primary">目录</span>';
                    }
                }
            },
            {
                title: '状态',
                field: 'status',
                align: 'center',
                valign: 'center',
                width : '5%',
                formatter: function (value, row, index) {
                    if (row.status === 0) {
                        return '<span class="label label-danger">禁用</span>';
                    }
                    if (row.status === 1) {
                        return '<span class="label label-success">允许</span>';
                    }
                }
            },
            {
                title: '操作',
                field: 'id',
                align: 'center',
                valign: 'center',
                width: '5%',
                formatter: function (value, row, index) {
                    var e = '<a class="btn btn-primary btn-sm '+ editFlag +'" mce_href="#" href="#" title="编辑" onclick="edit(\'' + row.id + '\')"><i class="fa fa-edit"></i></a> ';
                    var d = '<a class="btn btn-warning btn-sm '+ delFlag +'" mce_href="#" href="#" title="删除" onclick="del(\'' + row.id + '\')"><i class="fa fa-remove"></i></a> ';
                    return e + d;
                }
            }
        ]
    });
}

/**
 * 刷新
 */
function reLoad() {
    load();
}

/**
 * 添加
 */
function add() {
    // iframe层
    layer.open({
        type : 2,
        title : '增加菜单',
        maxmin : true,
        shadeClose : false, // 点击遮罩关闭层
        area : [ '800px', '470px' ],
        content : ctxPath +  'module/add'
    });
}

/**
 * 修改
 */
function edit(id) {
    if(id == null || id == "") {
        var rows = $('#menuTable').bootstrapTreeTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
        if (rows.length == 0) {
            layer.msg("请选择要修改的数据");
            return;
        }
        if (rows.length > 1) {
            layer.msg("不能选择多条数据");
            return;
        }
        id = rows[0].id;
    }
    // iframe层
    layer.open({
        type : 2,
        title : '修改菜单',
        maxmin : true,
        shadeClose : false, // 点击遮罩关闭层
        area : [ '800px', '470px' ],
        content : ctxPath +  'module/edit/' + id
    });
}

/**
 * 删除菜单
 */
function del(id)
{
    if(id == null || id == "") {
        var rows = $('#menuTable').bootstrapTreeTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
        if (rows.length == 0) {
            layer.msg("请选择要删除的数据");
            return;
        }
        if (rows.length > 1) {
            layer.msg("不能选择多条数据");
            return;
        }
        id = rows[0]['id'];
    }

    layer.confirm("确认要删除该菜单?", {
        btn : [ '确定', '取消' ]
    }, function() {
        $.ajax({
            type : 'POST',
            url : ctxPath +  'module/remove/'+ id,
            success : function(r) {
                if (r.code == 200) {
                    layer.msg("操作成功");
                    reLoad();
                } else {
                    layer.msg(r.message);
                }
            }
        });
    });
}